﻿@model FlyingCircusWebIS.ViewModels.CupomVM.CupomIndexVM

@{
    ViewBag.Title = "Promoções";
}

<h2>Promoções</h2>

<hr />
@Html.ActionLink("Novo", "Form")
<hr />

@{
    if (Model.TotalRegistros > 0)
    {
        <table>
            <tr>
                <th>Nome</th>
                <th>Desconto</th>
            </tr>
            @for (int i = 0; i < Model.Registros.Count; i++)
			{
			    <tr>
                    <td>@Model.Registros[i].NomeCupom</td>
                    <td>@Model.Registros[i].DescontoValorFormatado</td>
                    <td>
                         @if (Model.Registros[i].FlagAtivo.Equals("S"))
                         {
                            <a href="#" onclick="MostrarCodCupom('@Model.Registros[i].NomeCupom', '@Model.Registros[i].CodCupom');">Código</a>
                         }
                    </td>

                    <td>@Html.ActionLink("Editar", "Form", new { codigo = Model.Registros[i].CodCupom })</td>
                    <td>
                         @if (Model.Registros[i].FlagAtivo.Equals("S"))
                         {
                            <a href="#" onclick="DesativarRegistro('@Model.Registros[i].CodCupom');">Desativar</a>
                         }   
                         else
                         {
                            <a href="#" onclick="AtivarRegistro('@Model.Registros[i].CodCupom');">Ativar</a>
                         }
                    </td>
			    </tr>
			}
        </table>
        
        
    } 
    else
    {
        <p>Não existe nenhum registro cadastrado.</p>
    }
    
    
}

@section scripts 
{
    <script type="text/javascript">

        // Armazena o id/codigo do registro a ser ativado/desativado
        var codRegistro;

        // Trata o evento onclick da opção de desativar um registro
        function DesativarRegistro(codigo)
        {
            codRegistro = codigo;
            JSMostraDialogConfirmacao("Desativar", "Deseja desativar o registro?", true, RequisitaDesativacaoRegServidor);

        }

        // Trata o evento onclick da opção de ativar um registro
        function AtivarRegistro(codigo)
        {
            codRegistro = codigo;
            JSMostraDialogConfirmacao("Ativar", "Deseja ativar o registro?", true, RequisitaAtivarRegServidor);
        }

        // Efetua uma requisição ao servidor pedindo para desativar um registro
        function RequisitaDesativacaoRegServidor()
        {
            $.post('@Url.Action("Desativar")', { codigo: codRegistro }, function (data)
            {
                // Mostra uma notificação de acordo com a resposta do servidor
                if (!data.Erro)
                    JSMostraNotificacaoSucesso(data.Mensagem, false, function () { location.reload(); });
                else
                    JSMostraNotificacaoErro(data.Mensagem, true);
            });
        }


        // Efetua uma requisição ao servidor pedindo para ativar um registro
        function RequisitaAtivarRegServidor()
        {
            $.post('@Url.Action("Ativar")', { codigo: codRegistro }, function (data) {
                // Mostra uma notificação de acordo com a resposta do servidor
                if (!data.Erro)
                    JSMostraNotificacaoSucesso(data.Mensagem, false, function () { location.reload(); });
                else
                    JSMostraNotificacaoErro(data.Mensagem, true);
            });
        }


        // Mostra o código do cupom numa modal-message
        function MostrarCodCupom(nome, codigo)
        {
            var mensagem = "<p>Promoção: " + nome + "</p>";
            mensagem += "<p>Código: <strong>" + codigo + "</strong></p>";
            JSMostraDialog("Cupom", mensagem, true);
        }

    </script>    
}
